package com.zerdoor.service;

import com.google.gson.JsonArray;

import java.util.List;
import java.util.Map;

/**
 * Created by xiaoji on 2015/2/2.
 */
public interface RbacRoleService {
    /**
     * 角色列表
     * @param map
     * @return
     */
    public List<Map<String,Object>> getRbacRole(Map<String,Object> map);

    /**
     * 添加角色
     * @param map
     * @throws Exception
     */
    public void addRbacRole(Map<String,Object> map) throws Exception;

    /**
     * 添加角色资源操作
     * @param map
     * @throws Exception
     */
    public void addrro(Map<String,Object> map)throws Exception;

    /**
     * 删除角色资源操作
     * @param map
     * @throws Exception
     */
    public void deleterro(Map<String,Object> map) throws Exception;

    /**
     * 编辑角色
     * @param map
     * @throws Exception
     */
    public void updateRbacRole(Map<String,Object> map) throws Exception;

    /**
     * 删除角色
     * @param roleId 角色编号
     * @throws Exception
     */
    public void deleteRbacRole(int roleId) throws Exception;

    /**
     * 获取资源
     * @return
     */
    public List<Map<String, Object>> getResources();

    /**
     * 设置权限资源时初始化操作码值
     * @param roleId
     * @return
     */
    public List<Map<String, Object>> getOpIdsByRoleId(int roleId);

    /**
     * 获取操作码
     * @return
     */
    public List<Map<String, Object>> getOperatings();

    /**
     * 激活角色
     * @param map
     */
    public void updateActivationRbacRole(Map<String,Object> map)throws Exception;

    /**
     * 停用角色
     * @param map
     */
    public void updateStopRbacRole(Map<String,Object> map)throws Exception;

    /**
     * 给角色付资源权限
     * @param roleId 角色编号
     * @param arr 权限
     */
    public void updateRro(int roleId,JsonArray arr) throws Exception;
}
